// generate-sonar-config.js
const fs = require('fs')

// 读取 package.json
const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf8'))

// 构建 sonar-project.properties 内容
const content = `
# 从 package.json 自动获取
sonar.projectKey=${pkg.name.replace(/[^a-zA-Z0-9._:-]/g, '-')}
sonar.projectName=${pkg.name}
sonar.projectVersion=${pkg.version}

# 源码目录
sonar.sources=src
sonar.sourceEncoding=UTF-8
# sonar 服务端
sonar.host.url=http://192.168.1.7:9000
# Token
sonar.login=d5a16123a01538f9a65c644b6c8c2389ef2866c7
sonar.scm.disabled=true

# 排除 node_modules 和构建产物
sonar.exclusions=**/node_modules/**,**/dist/**,**/*.d.ts,**/*.min.js

# 测试和覆盖率（可选单元测试）
#sonar.tests=tests
#sonar.javascript.lcov.reportPaths=coverage/lcov.info
#sonar.testExecutionReportPaths=test-report.xml
`.trim()

// 写入文件
fs.writeFileSync('sonar-project.properties', content, 'utf8')
console.log('✅ sonar-project.properties 已生成')
